/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package QLThuVien.BLL;

import QLThuVien.DAL.MyConnectUnit;
import QLThuVien.DTO.*;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.HashSet;

/**
 *
 * @author Rado
 */
public class BCTPhieuMuon {
    MyConnectUnit connect;
    
    public BCTPhieuMuon(){
        //this.connect = new MyConnectUnit("localhost", "root", "123456", "QLTV");
        this.connect = new MyConnectUnit("", "sa", "123456", "QLTV");
    }
    
    public HashSet<CTPhieuMuon> getCTPhieuMuons(String Condition, String OrderBy) throws Exception{
         ResultSet result = this.connect.Select("CT_PHIEUMUON", Condition, OrderBy);
         HashSet<CTPhieuMuon> ctphieumuons = new HashSet<CTPhieuMuon>();
         while(result.next()){
             CTPhieuMuon ctphieumuon = new CTPhieuMuon();
             ctphieumuon.setMaCuonSach(result.getString("MaCuonSach"));
             ctphieumuon.setMaPhieuMuon(result.getString("MaPhieuMuon"));          
             ctphieumuons.add(ctphieumuon);
         }
         return ctphieumuons;
     }
    
    public HashSet<CTPhieuMuon> getCTPhieuMuons(String Condition) throws Exception{
        return getCTPhieuMuons(Condition, null);
    }
    
    public HashSet<CTPhieuMuon> getCTPhieuMuons() throws Exception{
        return getCTPhieuMuons(null);
    }
    
    public void InsertCTPhieuMuon(CTPhieuMuon ctphieumuon) throws Exception{
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("MaCuonSach", ctphieumuon.getMaCuonSach());       
        map.put("MaPhieuMuon", ctphieumuon.getMaPhieuMuon());
        this.connect.Insert("CT_PHIEUMUON", map);
    }
    
    public void InsertCTPhieuMuon(HashSet<CTPhieuMuon> ctphieumuons) throws Exception{
        for(CTPhieuMuon ctphieumuon:ctphieumuons)
            this.InsertCTPhieuMuon(ctphieumuon);
    }
    
    public void DeleteCTPhieuMuon(CTPhieuMuon ctphieumuon) throws Exception{
        this.connect.Delete("CT_PHIEUMUON", "MaCuonSach = " + ctphieumuon.getMaCuonSach()+ "AND MaPhieuMuon = " + ctphieumuon.getMaPhieuMuon());
    }
    
    public void DeleteCTPhieuMuon(HashSet<CTPhieuMuon> ctphieumuons) throws Exception{
        for(CTPhieuMuon ctphieumuon:ctphieumuons)
            this.DeleteCTPhieuMuon(ctphieumuons);
    }
}
